const express = require('express');
const router = express.Router();
const userController = require('../controllers/userController');
const { auth, admin } = require('../middlewares/auth');
const { validate, userValidation } = require('../utils/validator');

// 所有路由都需要认证
router.use(auth);

// GET /api/users - 获取用户列表 (需要管理员权限)
router.get('/', admin, userController.getUsers);

// GET /api/users/:id - 获取单个用户
router.get('/:id', userController.getUser);

// POST /api/users - 创建用户 (需要管理员权限)
router.post('/', [admin, validate(userValidation.register)], userController.createUser);

// PUT /api/users/:id - 更新用户
router.put('/:id', validate(userValidation.update), userController.updateUser);

// DELETE /api/users/:id - 删除用户 (需要管理员权限)
router.delete('/:id', admin, userController.deleteUser);

module.exports = router; 